package co.com.inventarios.vista;

import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.List;
import java.util.Date;
import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;
import javax.faces.event.ActionEvent;
import javax.faces.event.ValueChangeEvent;
import javax.faces.model.SelectItem;
import javax.servlet.http.HttpServletRequest;
import co.com.inventarios.logica.IRequisicionLogica;
import co.com.inventarios.logica.IUnimedLogica;
import co.com.inventarios.logica.RequisicionLogica;
import co.com.inventarios.logica.UnimedLogica;
import co.com.inventarios.modelo.Bodega;
import co.com.inventarios.modelo.Cataventa;
import co.com.inventarios.modelo.Dlluser;
import co.com.inventarios.modelo.Mngcco;
import co.com.inventarios.modelo.Mngtdc;
import co.com.inventarios.modelo.MngtdcId;
import co.com.inventarios.modelo.Producto;
import co.com.inventarios.modelo.Prounimed;
import co.com.inventarios.modelo.RequiDoc;
import co.com.inventarios.modelo.RequiDocId;
import co.com.inventarios.modelo.RequiDocWork;
import co.com.inventarios.modelo.RequiPro;
import co.com.inventarios.modelo.RequiProId;
import co.com.inventarios.modelo.RequiProWork;
import co.com.inventarios.modelo.Unimed;
import co.com.inventarios.modelo.Label;
import co.com.inventarios.persistencia.RequiProDAO;
import co.com.inventarios.utils.MessageBundleLoader;
import co.com.inventarios.utils.SessionUtil;
import co.com.inventarios.utils.SessionVars;
import com.icesoft.faces.component.ext.HtmlCommandButton;
import com.icesoft.faces.component.ext.HtmlDataTable;
import com.icesoft.faces.component.ext.HtmlInputText;
import com.icesoft.faces.component.ext.HtmlInputTextarea;
import com.icesoft.faces.component.ext.HtmlPanelGrid;
import com.icesoft.faces.component.ext.HtmlSelectOneMenu;
import com.icesoft.faces.component.ext.RowSelectorEvent;

public class Requi_DocR_MB {

	// form Buscador

	private Long activobd;
	private boolean bactivo;
	private String busquedacmb;
	private String busquedacmbbus;
	private String buscar;
	private String buscarpro;
	private HtmlDataTable tabla;
	private List<RequiDoc> listReqDoc;
	private List<RequiPro> listReqPro;
	private IRequisicionLogica ReqDoc_logica;
	private IUnimedLogica logicaUnimed;
	private HtmlInputText txtBuscar;
	private HtmlInputText txtBuscarpro;
	private HtmlCommandButton cmdedita;
	private HtmlCommandButton cmdnuevo;
	private HtmlCommandButton cmdelimina;
	private RequiDocId codigoEliminar;
	private String nombreEliminar;
	private String nombreEliminarpro;
	private RequiDoc Requisicion;
	private RequiDocId miId;
	private Mngcco miccosto;
	private Bodega miBodegae;
	private Bodega miBodegas;
	private Label milabel;
	private Dlluser miDlluser;
	private Producto miProducto;
	private RequiPro miRequipro;
	private RequiProId miRequiproId;
	private Unimed miUnimed;
	private Cataventa miCataventa;
	private HtmlSelectOneMenu txtbodegasbusc;

	// / Popup Bodegas
	private boolean modalpopupbodega;
	private String busquedacmbbodega;
	private String bbodegasnom;
	private String buscarbod;
	private HtmlInputText txtBuscarbod;
	private HtmlInputText txtbodegasal;
	private HtmlInputText txtbodegasalnom;
	private List<Bodega> listaBodegapopup;
	private HtmlCommandButton popup_cmdselecionarBod;
	private boolean busqueda1 = true;
	private boolean busqueda2 = false;
	private boolean busqueda3 = false;
	private boolean busqueda4 = false;
	private boolean busqueda5 = false;

	String Usucod = ((HttpServletRequest) FacesContext.getCurrentInstance()
			.getExternalContext().getRequest()).getParameter("Usucodigo");

	// /form Propiedades
	private HtmlSelectOneMenu txttipo;
	private HtmlSelectOneMenu bustxttipo;
	private String busbtipo = ".";
	private HtmlInputText txtnumero;
	private HtmlInputText txtfecha;
	private HtmlInputText txtccosto;
	private HtmlInputText txtbodegae;
	private HtmlSelectOneMenu txtbodegas;
	private HtmlInputText txtusuario;
	private HtmlInputText txtnombre;
	private HtmlInputText txtestado;
	private HtmlInputTextarea txtdetalle;
	private HtmlSelectOneMenu seleconeestado;
	private String bempresa;
	private String bclase;
	private String btipo;
	private String bnumero;
	private Double breg;
	private Date bfecha;
	private String bccosto;
	private String bbodegae;
	private String bbodegas;
	private Date bfechaenv;
	private String busuario;
	private String busunombre;
	private String bdetalle;
	private String selecestado;
	private String retornar;
	private String bodegapre;
	private String docautorizados;
	private String bodautorizadas;
	private boolean proselec;

	// / Combos

	private List<Bodega> listaBodega;
	private List<Prounimed> listaUnimed;
	private List<Mngtdc> listadocument;

	private SelectItem[] sel_bodega;
	private SelectItem[] sel_unimed;
	private SelectItem[] sel_document;
	private SelectItem[] sel_busqueda;
	private String selecteddocument;

	private RequiDocWork[] requidoc;
	private RequiDoc requiEdicion = new RequiDoc();

	private RequiProWork[] requipro;
	private RequiPro requiproEdicion = new RequiPro();
	// // POPUP

	private boolean modalRendered;
	private boolean modalRenderedpro;
	private boolean modalRenderedenviar;

	// private boolean autocenter;
	private boolean agregarpro;
	private boolean swnuevo;
	private boolean sweditando;
	private boolean swcerrado;
	private List<Producto> listProductos;
	private HtmlCommandButton popup_cmdselecionar;
	private HtmlCommandButton popup_cmdbuscarprod;

	// ///Busca Documento
	private boolean selecfecha;
	private HtmlInputText txtfechabusca;
	private HtmlSelectOneMenu seleconeestadobus;
	private HtmlSelectOneMenu seleconebusqueda;
	private String selecestadobus;
	private Date fechabusca;
	private boolean docselec;

	public List<Mngtdc> getListadocument(String Buscar, String clase) {
		ReqDoc_logica = new RequisicionLogica();
		if (listadocument == null) {
			try {
				listadocument = ReqDoc_logica.buscarDocument_Aut(Buscar, clase);
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
		return listadocument;
	}

	public void setListadocument(List<Mngtdc> listadocument) {
		this.listadocument = listadocument;
	}

	public SelectItem[] getSel_busqueda() {
		sel_busqueda = new SelectItem[4];
		sel_busqueda[0] = new SelectItem("reqnumero", "Numero");
		sel_busqueda[1] = new SelectItem("reqfecha", "Fecha");
		sel_busqueda[2] = new SelectItem("reqestado", "Estado");
		sel_busqueda[3] = new SelectItem("todos", "Todos");

		return sel_busqueda;
	}

	public void setSel_busqueda(SelectItem[] sel_busqueda) {
		this.sel_busqueda = sel_busqueda;
	}

	public SelectItem[] getSel_document() {

		if (sel_document == null) {
			listadocument = null;
			if (docautorizados == null) {
				docautorizados = "X,X";
			}
			listadocument = getListadocument((String) SessionUtil
					.get(SessionVars.DOCAUTORIZADOS), bclase);
			sel_document = new SelectItem[listadocument.size()];
			int i = 0;
			for (Mngtdc obj : listadocument) {
				sel_document[i] = new SelectItem(obj.getId().getTdctipo(), obj
						.getTdcnombre(), obj.getId().getTdctipo());

				i++;
			}
		}
		return sel_document;
	}

	public void setSel_document(SelectItem[] sel_document) {
		this.sel_document = sel_document;
	}

	public List<Bodega> getListaBodega(String Buscar) {
		ReqDoc_logica = new RequisicionLogica();
		if (listaBodega == null) {
			try {
				listaBodega = ReqDoc_logica.buscarBodegas_Aut(Buscar);
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
		return listaBodega;
	}

	public void setListaBodega(List<Bodega> listaBodega) {
		this.listaBodega = listaBodega;
	}

	public List<Bodega> getListaBodegapopup() {
		return listaBodegapopup;
	}

	public void setListaBodegapopup(List<Bodega> listaBodegapopup) {
		this.listaBodegapopup = listaBodegapopup;
	}

	public boolean isBusqueda1() {
		return busqueda1;
	}

	public void setBusqueda1(boolean busqueda1) {
		this.busqueda1 = busqueda1;
	}

	public boolean isBusqueda2() {
		return busqueda2;
	}

	public void setBusqueda2(boolean busqueda2) {
		this.busqueda2 = busqueda2;
	}

	public boolean isBusqueda3() {
		return busqueda3;
	}

	public void setBusqueda3(boolean busqueda3) {
		this.busqueda3 = busqueda3;
	}

	public boolean isBusqueda4() {
		return busqueda4;
	}

	public void setBusqueda4(boolean busqueda4) {
		this.busqueda4 = busqueda4;
	}

	public boolean isBusqueda5() {
		return busqueda5;
	}

	public void setBusqueda5(boolean busqueda5) {
		this.busqueda5 = busqueda5;
	}

	public SelectItem[] getSel_bodega() {

		if (sel_bodega == null) {
			listaBodega = null;
			if (bodautorizadas == null) {
				bodautorizadas = "X,X";
			}
			listaBodega = getListaBodega((String) SessionUtil
					.get(SessionVars.BODAUTORIZADAS));
			sel_bodega = new SelectItem[listaBodega.size()];
			int i = 0;
			for (Bodega obj : listaBodega) {
				sel_bodega[i] = new SelectItem(obj.getBodcodigo(), obj
						.getBodnombre());
				i++;
			}
		}
		return sel_bodega;
	}

	public boolean getProselec() {
		return proselec;
	}

	public boolean isDocselec() {
		return docselec;
	}

	public void setDocselec(boolean docselec) {
		this.docselec = docselec;
	}

	public void setProselec(boolean proselec) {
		this.proselec = proselec;
	}

	public void setSel_bodega(SelectItem[] sel_bodega) {
		this.sel_bodega = sel_bodega;
	}

	public List<Prounimed> getListaUnimed(String producto) {
		logicaUnimed = new UnimedLogica();
		if (listaUnimed == null) {
			try {
				listaUnimed = logicaUnimed.buscarTodosProUnimed(producto);
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
		return listaUnimed;
	}

	public void setListaUnimed(List<Prounimed> listaUnimed) {
		this.listaUnimed = listaUnimed;
	}

	public SelectItem[] getSel_unimed() {

		return sel_unimed;
	}

	public boolean isSelecfecha() {
		return selecfecha;
	}

	public void setSelecfecha(boolean selecfecha) {
		this.selecfecha = selecfecha;
	}

	public void setSel_unimed(SelectItem[] sel_unimed) {
		this.sel_unimed = sel_unimed;
	}

	public boolean isAgregarpro() {
		return agregarpro;
	}

	public void setAgregarpro(boolean agregarpro) {
		this.agregarpro = agregarpro;
	}

	public boolean isModalRenderedenviar() {
		return modalRenderedenviar;
	}

	public void setModalRenderedenviar(boolean modalRenderedenviar) {
		this.modalRenderedenviar = modalRenderedenviar;
	}

	public String getSelecteddocument() {
		return selecteddocument;
	}

	public void setSelecteddocument(String selecteddocument) {
		this.selecteddocument = selecteddocument;
	}

	public boolean isModalRenderedpro() {
		return modalRenderedpro;
	}

	public void setModalRenderedpro(boolean modalRenderedpro) {
		this.modalRenderedpro = modalRenderedpro;
	}

	public String getDocautorizados() {
		return docautorizados;
	}

	public void setDocautorizados(String docautorizados) {
		this.docautorizados = docautorizados;
	}

	public String getBodautorizadas() {
		return bodautorizadas;
	}

	public void setBodautorizadas(String bodautorizadas) {
		this.bodautorizadas = bodautorizadas;
	}

	public String getBodegapre() {
		return bodegapre;
	}

	public void setBodegapre(String bodegapre) {
		this.bodegapre = bodegapre;
	}

	public Requi_DocR_MB() {
		bclase = "RQ00";
		bempresa = "001";
		sel_busqueda = null;

		try {
//			action_Validausuario(null);
//			action_validadoc(null);
//			getSel_bodega();
//			action_BuscarDefault(null);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

	public Dlluser getMiDlluser() {
		return miDlluser;
	}

	public Label getMilabel() {
		return milabel;
	}

	public void setMilabel(Label milabel) {
		this.milabel = milabel;
	}

	public String getNombreEliminarpro() {
		return nombreEliminarpro;
	}

	public void setNombreEliminarpro(String nombreEliminarpro) {
		this.nombreEliminarpro = nombreEliminarpro;
	}

	public boolean isSwcerrado() {
		return swcerrado;
	}

	public void setSwcerrado(boolean swcerrado) {
		this.swcerrado = swcerrado;
	}

	public Double getBreg() {
		return breg;
	}

	public List<Producto> getListProductos() throws Exception {
		// ReqDoc_logica = new RequisicionLogica();
		// return ReqDoc_logica.buscarTodosProductos();
		return listProductos;
	}

	public void setListProductos(List<Producto> listProductos) {
		this.listProductos = listProductos;
	}

	public HtmlCommandButton getPopup_cmdselecionar() {
		return popup_cmdselecionar;
	}

	public boolean isModalpopupbodega() {
		return modalpopupbodega;
	}

	public void setModalpopupbodega(boolean modalpopupbodega) {
		this.modalpopupbodega = modalpopupbodega;
	}

	public String getBusquedacmbbodega() {
		return busquedacmbbodega;
	}

	public void setBusquedacmbbodega(String busquedacmbbodega) {
		this.busquedacmbbodega = busquedacmbbodega;
	}

	public String getBbodegasnom() {
		return bbodegasnom;
	}

	public void setBbodegasnom(String bbodegasnom) {
		this.bbodegasnom = bbodegasnom;
	}

	public String getBuscarbod() {
		return buscarbod;
	}

	public void setBuscarbod(String buscarbod) {
		this.buscarbod = buscarbod;
	}

	public HtmlInputText getTxtBuscarbod() {
		return txtBuscarbod;
	}

	public void setTxtBuscarbod(HtmlInputText txtBuscarbod) {
		this.txtBuscarbod = txtBuscarbod;
	}

	public HtmlInputText getTxtbodegasal() {
		return txtbodegasal;
	}

	public void setTxtbodegasal(HtmlInputText txtbodegasal) {
		this.txtbodegasal = txtbodegasal;
	}

	public HtmlInputText getTxtbodegasalnom() {
		return txtbodegasalnom;
	}

	public void setTxtbodegasalnom(HtmlInputText txtbodegasalnom) {
		this.txtbodegasalnom = txtbodegasalnom;
	}

	public HtmlCommandButton getPopup_cmdselecionarBod() {
		return popup_cmdselecionarBod;
	}

	public void setPopup_cmdselecionarBod(
			HtmlCommandButton popup_cmdselecionarBod) {
		this.popup_cmdselecionarBod = popup_cmdselecionarBod;
	}

	public void setPopup_cmdselecionar(HtmlCommandButton popup_cmdselecionar) {
		this.popup_cmdselecionar = popup_cmdselecionar;
	}

	public void setBreg(Double breg) {
		this.breg = breg;
	}

	public Cataventa getMiCataventa() {
		return miCataventa;
	}

	public void setMiCataventa(Cataventa miCataventa) {
		this.miCataventa = miCataventa;
	}

	public String getRetornar() {
		return retornar;
	}

	public void setRetornar(String retornar) {
		this.retornar = retornar;
	}

	public RequiPro getMiRequipro() {
		return miRequipro;
	}

	public RequiProId getMiRequiproId() {
		return miRequiproId;
	}

	public void setMiRequiproId(RequiProId miRequiproId) {
		this.miRequiproId = miRequiproId;
	}

	public Unimed getMiUnimed() {
		return miUnimed;
	}

	public void setMiUnimed(Unimed miUnimed) {
		this.miUnimed = miUnimed;
	}

	public void setMiRequipro(RequiPro miRequipro) {
		this.miRequipro = miRequipro;
	}

	public Producto getMiProducto() {
		return miProducto;
	}

	public void setMiProducto(Producto miProducto) {
		this.miProducto = miProducto;
	}

	public String getBempresa() {
		return bempresa;
	}

	public void setBempresa(String bempresa) {
		this.bempresa = bempresa;
	}

	public String getBclase() {
		return bclase;
	}

	public void setBclase(String bclase) {
		this.bclase = bclase;
	}

	public void setMiDlluser(Dlluser miDlluser) {
		this.miDlluser = miDlluser;
	}

	public HtmlSelectOneMenu getSeleconeestado() {
		return seleconeestado;
	}

	public void setSeleconeestado(HtmlSelectOneMenu seleconeestado) {
		this.seleconeestado = seleconeestado;
	}

	public String getSelecestado() {
		return selecestado;
	}

	public HtmlSelectOneMenu getSeleconebusqueda() {
		return seleconebusqueda;
	}

	public void setSeleconebusqueda(HtmlSelectOneMenu seleconebusqueda) {
		this.seleconebusqueda = seleconebusqueda;
	}

	public void setSelecestado(String selecestado) {
		this.selecestado = selecestado;
	}

	public HtmlSelectOneMenu getTxttipo() {
		return txttipo;
	}

	public void setTxttipo(HtmlSelectOneMenu txttipo) {
		this.txttipo = txttipo;
	}

	public RequiDocId getMiId() {
		return miId;
	}

	public void setMiId(RequiDocId miId) {
		this.miId = miId;
	}

	public Mngcco getMiccosto() {
		return miccosto;
	}

	public String getBusquedacmb() {
		return busquedacmb;
	}

	public String getBusquedacmbbus() {
		return busquedacmbbus;
	}

	public void setBusquedacmbbus(String busquedacmbbus) {
		this.busquedacmbbus = busquedacmbbus;
	}

	public void setBusquedacmb(String busquedacmb) {
		this.busquedacmb = busquedacmb;
	}

	public void setMiccosto(Mngcco miccosto) {
		this.miccosto = miccosto;
	}

	public Bodega getMiBodegae() {
		return miBodegae;
	}

	public HtmlSelectOneMenu getBustxttipo() {
		return bustxttipo;
	}

	public void setBustxttipo(HtmlSelectOneMenu bustxttipo) {
		this.bustxttipo = bustxttipo;
	}

	public void setMiBodegae(Bodega miBodegae) {
		this.miBodegae = miBodegae;
	}

	public Bodega getMiBodegas() {
		return miBodegas;
	}

	public void setMiBodegas(Bodega miBodegas) {
		this.miBodegas = miBodegas;
	}

	public HtmlInputText getTxtnumero() {
		return txtnumero;
	}

	public void setTxtnumero(HtmlInputText txtnumero) {
		this.txtnumero = txtnumero;
	}

	public HtmlInputText getTxtfecha() {
		return txtfecha;
	}

	public void setTxtfecha(HtmlInputText txtfecha) {
		this.txtfecha = txtfecha;
	}

	public HtmlInputText getTxtccosto() {
		return txtccosto;
	}

	public void setTxtccosto(HtmlInputText txtccosto) {
		this.txtccosto = txtccosto;
	}

	public HtmlInputText getTxtbodegae() {
		return txtbodegae;
	}

	public void setTxtbodegae(HtmlInputText txtbodegae) {
		this.txtbodegae = txtbodegae;
	}

	public HtmlSelectOneMenu getTxtbodegas() {
		return txtbodegas;
	}

	public void setTxtbodegas(HtmlSelectOneMenu txtbodegas) {
		this.txtbodegas = txtbodegas;
	}

	public HtmlInputText getTxtusuario() {
		return txtusuario;
	}

	public void setTxtusuario(HtmlInputText txtusuario) {
		this.txtusuario = txtusuario;
	}

	public HtmlInputText getTxtnombre() {
		return txtnombre;
	}

	public String getBuscarpro() {
		return buscarpro;
	}

	public void setBuscarpro(String buscarpro) {
		this.buscarpro = buscarpro;
	}

	public HtmlInputText getTxtBuscarpro() {
		return txtBuscarpro;
	}

	public void setTxtBuscarpro(HtmlInputText txtBuscarpro) {
		this.txtBuscarpro = txtBuscarpro;
	}

	public void setTxtnombre(HtmlInputText txtnombre) {
		this.txtnombre = txtnombre;
	}

	public HtmlInputText getTxtestado() {
		return txtestado;
	}

	public void setTxtestado(HtmlInputText txtestado) {
		this.txtestado = txtestado;
	}

	public HtmlInputTextarea getTxtdetalle() {
		return txtdetalle;
	}

	public void setTxtdetalle(HtmlInputTextarea txtdetalle) {
		this.txtdetalle = txtdetalle;
	}

	public String getBtipo() {
		return btipo;
	}

	public void setBtipo(String btipo) {
		this.btipo = btipo;
	}

	public String getBnumero() {
		if (bnumero == null) {
			bnumero = "0";
		}
		return bnumero;
	}

	public HtmlInputText getTxtfechabusca() {
		return txtfechabusca;
	}

	public void setTxtfechabusca(HtmlInputText txtfechabusca) {
		this.txtfechabusca = txtfechabusca;
	}

	public HtmlSelectOneMenu getSeleconeestadobus() {
		return seleconeestadobus;
	}

	public void setSeleconeestadobus(HtmlSelectOneMenu seleconeestadobus) {
		this.seleconeestadobus = seleconeestadobus;
	}

	public String getSelecestadobus() {
		return selecestadobus;
	}

	public void setSelecestadobus(String selecestadobus) {
		this.selecestadobus = selecestadobus;
	}

	public Date getFechabusca() {
		return fechabusca;
	}

	public void setFechabusca(Date fechabusca) {
		this.fechabusca = fechabusca;
	}

	public Date getBfechaenv() {
		return bfechaenv;
	}

	public void setBfechaenv(Date bfechaenv) {
		this.bfechaenv = bfechaenv;
	}

	public void setBnumero(String bnumero) {
		this.bnumero = bnumero;
	}

	public Date getBfecha() {
		return bfecha;
	}

	public void setBfecha(Date bfecha) {
		this.bfecha = bfecha;
	}

	public String getBccosto() {
		return bccosto;
	}

	public void setBccosto(String bccosto) {
		this.bccosto = bccosto;
	}

	public String getBbodegae() {
		return bbodegae;
	}

	public void setBbodegae(String bbodegae) {
		this.bbodegae = bbodegae;
	}

	public String getBbodegas() {
		return bbodegas;
	}

	public void setBbodegas(String bbodegas) {
		this.bbodegas = bbodegas;
	}

	public String getBusuario() {
		return busuario;
	}

	public void setBusuario(String busuario) {
		this.busuario = busuario;
	}

	public String getBusunombre() {
		return busunombre;
	}

	public void setBusunombre(String busunombre) {
		this.busunombre = busunombre;
	}

	public String getBdetalle() {
		return bdetalle;
	}

	public void setBdetalle(String bdetalle) {
		this.bdetalle = bdetalle;
	}

	public void toggleModal(ActionEvent ae) {
		modalRendered = !modalRendered;
	}

	public void toggleModalpro(ActionEvent ae) {
		modalRenderedpro = !modalRenderedpro;
	}

	public void toggleModalenviar(ActionEvent ae) {
		modalRenderedenviar = !modalRenderedenviar;
	}

	public boolean isModalRendered() {
		return modalRendered;
	}

	public void setModalRendered(boolean modalRendered) {
		this.modalRendered = modalRendered;
	}

	public RequiDocId getCodigoEliminar() {
		return codigoEliminar;
	}

	public void setCodigoEliminar(RequiDocId codigoEliminar) {
		this.codigoEliminar = codigoEliminar;
	}

	public String getNombreEliminar() {
		return nombreEliminar;
	}

	public void setNombreEliminar(String nombreEliminar) {
		this.nombreEliminar = nombreEliminar;
	}

	public HtmlCommandButton getCmdedita() {
		return cmdedita;
	}

	public void setCmdedita(HtmlCommandButton cmdedita) {
		this.cmdedita = cmdedita;
	}

	public HtmlCommandButton getCmdnuevo() {
		return cmdnuevo;
	}

	public boolean isSwnuevo() {
		return swnuevo;
	}

	public void setSwnuevo(boolean swnuevo) {
		this.swnuevo = swnuevo;
	}

	public boolean isSweditando() {
		return sweditando;
	}

	public void setSweditando(boolean sweditando) {
		this.sweditando = sweditando;
	}

	public void setCmdnuevo(HtmlCommandButton cmdnuevo) {
		this.cmdnuevo = cmdnuevo;
	}

	public HtmlCommandButton getCmdelimina() {
		return cmdelimina;
	}

	public void setCmdelimina(HtmlCommandButton cmdelimina) {
		this.cmdelimina = cmdelimina;
	}

	public RequiDoc getRequisicion() {
		return Requisicion;
	}

	public void setRequisicion(RequiDoc requisicion) {
		Requisicion = requisicion;
	}

	public Long getActivobd() {
		return activobd;
	}

	public void setActivobd(Long activobd) {
		this.activobd = activobd;
	}

	public boolean isBactivo() {
		return bactivo;
	}

	public void setBactivo(boolean bactivo) {
		this.bactivo = bactivo;
	}

	public String getBuscar() {
		return buscar;
	}

	public void setBuscar(String buscar) {
		this.buscar = buscar;
	}

	public HtmlDataTable getTabla() {
		return tabla;
	}

	public void setTabla(HtmlDataTable tabla) {
		this.tabla = tabla;
	}

	public IRequisicionLogica getReqDoc_logica() {
		return ReqDoc_logica;
	}

	public void setReqDoc_logica(IRequisicionLogica reqDoc_logica) {
		ReqDoc_logica = reqDoc_logica;
	}

	public HtmlInputText getTxtBuscar() {
		return txtBuscar;
	}

	public String getBusbtipo() {
		return busbtipo;
	}

	public void setBusbtipo(String busbtipo) {
		this.busbtipo = busbtipo;
	}

	public void setTxtBuscar(HtmlInputText txtBuscar) {
		this.txtBuscar = txtBuscar;
	}

	public HtmlSelectOneMenu getTxtbodegasbusc() {
		return txtbodegasbusc;
	}

	public void setTxtbodegasbusc(HtmlSelectOneMenu txtbodegasbusc) {
		this.txtbodegasbusc = txtbodegasbusc;
	}

	public void setlistReqDoc(List<RequiDoc> listReqDoc) {
		this.listReqDoc = listReqDoc;
	}

	public List<RequiDoc> getlistReqDoc() {
		ReqDoc_logica = new RequisicionLogica();

		if (listReqDoc == null) {
			try {
				if (busuario != null) {
				listReqDoc = ReqDoc_logica
						.consultarRequiDocPropertyCerradas_Bodega(bclase,
								(String) SessionUtil
										.get(SessionVars.BODAUTORIZADAS), ".",
								".");
				requidoc = null;
				System.err.println("Consulto Todas Requisiciones en Enviadas");
				}
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
		return listReqDoc;
	}

	public void setlistReqPro(List<RequiPro> listReqPro) {
		this.listReqPro = listReqPro;
	}

	public List<RequiPro> getlistReqPro() {
		ReqDoc_logica = new RequisicionLogica();
		listReqDoc = null;

		try {
			if (swnuevo != true) {
				listReqPro = ReqDoc_logica.buscarRequiPro(bempresa, bclase,
						btipo, bnumero);
			}

		} catch (Exception e) {
			e.printStackTrace();
		}

		return listReqPro;
	}

	public String action_Editar() {

		if (requidoc != null && docselec == true) {

			swnuevo = false;
			sweditando = true;
			Requisicion = null;
			requipro = null;
			listaUnimed = null;
			listaUnimed = null;
			sel_unimed = null;
			ReqDoc_logica = new RequisicionLogica();
			miDlluser = null;
			proselec = false;
			try {
				setRequisicion(ReqDoc_logica.consultarRequiDoc("id",
						requiEdicion.getId()));
				action_Validausuario(null);
				selecestado = String.valueOf(requiEdicion.getLabel()
						.getLbcodnum());
				bdetalle = Requisicion.getReqdetalle();
				bclase = Requisicion.getId().getReqclase();
				bempresa = Requisicion.getId().getReqempresa();
				btipo = Requisicion.getId().getReqtipo();
				// System.err.println("Tipo xxxxxxxxxxxxxxxxx" + btipo);
				int fin = Requisicion.getId().getReqnumero().toString()
						.indexOf(".");
				bnumero = Requisicion.getId().getReqnumero().toString()
						.substring(0, fin);

				bfecha = Requisicion.getReqfecha();
				bccosto = Requisicion.getMngcco().getCcocodigo();
				bbodegae = Requisicion.getBodega().getBodcodigo();
				bbodegas = Requisicion.getReqbodsale();
				busuario = Requisicion.getDlluser().getUsrcodigo();
				miDlluser = ReqDoc_logica.consultarRequiUser(busuario);
				busunombre = miDlluser.getUsrnombre();
				// bfechaenv = Requisicion.getReqfecha();

				if (Requisicion.getReqfecha() == null) {
					bfechaenv = null;
				} else {
					bfechaenv = Requisicion.getReqenvfec();
				}

				agregarpro = false;
				swcerrado = true;
				listReqPro = getlistReqPro();
				requipro = null;

			} catch (Exception e) {
				e.printStackTrace();
			}

			return "RequisicionR_P";
		} else {
			FacesContext.getCurrentInstance().addMessage("msg",
					new FacesMessage("Debe seleccionar un Documento"));
			return "Error";
		}
	}

	public void action_selecfecha(ValueChangeEvent ae) {
		selecfecha = true;
	}

	public void action_Buscar(ActionEvent ae) {

		ReqDoc_logica = new RequisicionLogica();
		docselec = false;
		busbtipo = busbtipo.toUpperCase();
		try {
			if (busquedacmbbus.equals("reqnumero")) {
				if (buscar.length() > 0) {
					FacesContext.getCurrentInstance().addMessage(
							"msg",
							new FacesMessage(MessageBundleLoader
									.getMessage("busqueda.mensaje")
									+ " Numero :" + buscar));

					listReqDoc = null;
					listReqDoc = ReqDoc_logica
							.consultarRequiDocPropertyCerradas_Bodega(bclase,
									(String) SessionUtil
											.get(SessionVars.BODAUTORIZADAS),
									"reqnumero", buscar);
					listReqDoc = getlistReqDoc();
					requidoc = null;
				} else {
					FacesContext.getCurrentInstance().addMessage(
							"msg",
							new FacesMessage(
									"Debe Agregar un valor de busqueda"));
				}

			} else {
				if (busquedacmbbus.equals("reqfecha")) {

					SimpleDateFormat formato = new SimpleDateFormat("dd/MM/yy");
					SimpleDateFormat formatomsg = new SimpleDateFormat(
							"dd/MM/yyyy");
					long fecha = fechabusca.getTime();
					long aumento = fecha;
					if (selecfecha == true) {
						aumento = fecha + 86400000;
					}

					Date fechaMax = new Date(aumento);
					String cadenaFecha = formato.format(fechaMax);
					String cadenaFechamsg = formatomsg.format(fechaMax);

					FacesContext.getCurrentInstance().addMessage(
							"msg",
							new FacesMessage(MessageBundleLoader
									.getMessage("busqueda.mensaje")
									+ " Fecha envio :" + cadenaFechamsg));

					listReqDoc = null;

					listReqDoc = ReqDoc_logica
							.consultarRequiDocPropertyCerradas_Bodega(bclase,
									(String) SessionUtil
											.get(SessionVars.BODAUTORIZADAS),
									"reqlogfec", cadenaFecha);
				
					listReqDoc = getlistReqDoc();
					requidoc = null;

				} else {

					if (busquedacmbbus.equals("reqenvfec")) {

						SimpleDateFormat formato = new SimpleDateFormat(
								"dd/MM/yy");
						SimpleDateFormat formatomsg = new SimpleDateFormat(
								"dd/MM/yyyy");
						long fecha = fechabusca.getTime();
						long aumento = fecha;
						if (selecfecha == true) {
							aumento = fecha + 86400000;
						}

						Date fechaMax = new Date(aumento);
						String cadenaFecha = formato.format(fechaMax);
						String cadenaFechamsg = formatomsg.format(fechaMax);

						FacesContext.getCurrentInstance().addMessage(
								"msg",
								new FacesMessage(MessageBundleLoader
										.getMessage("busqueda.mensaje")
										+ " Fecha envio :" + cadenaFechamsg));

						listReqDoc = null;
							listReqDoc = ReqDoc_logica
								.consultarRequiDocPropertyCerradas_Bodega_Date(
										bclase,
										(String) SessionUtil
												.get(SessionVars.BODAUTORIZADAS),
										"reqenvfec", fechaMax);


						listReqDoc = getlistReqDoc();
						requidoc = null;

					} else {

						if (busquedacmbbus.equals("reqestado")) {
							FacesContext.getCurrentInstance().addMessage(
									"msg",
									new FacesMessage(MessageBundleLoader
											.getMessage("busqueda.mensaje")
											+ " Por Estado "));
							// seleconeestadobus
							listReqDoc = null;
							listReqDoc = ReqDoc_logica
									.consultarRequiDocPropertyCerradas_Bodega(
											bclase,
											(String) SessionUtil
													.get(SessionVars.BODAUTORIZADAS),
											"reqestado", buscar);
							// listReqDoc = ReqDoc_logica
							// .consultarRequiDocPropertyBodega(bclase,
							// busbtipo, "reqestado", selecestadobus,
							// "reqbodsale", (String) SessionUtil
							// .get(SessionVars.BODEGA));

							listReqDoc = getlistReqDoc();
							requidoc = null;

						} else {

							if (busquedacmbbus.equals("reqbodsale")) {
								if (bbodegas.length() > 0) {
									// buscar = buscar.toUpperCase();
									FacesContext
											.getCurrentInstance()
											.addMessage(
													"msg",
													new FacesMessage(
															MessageBundleLoader
																	.getMessage("busqueda.mensaje")
																	+ " Bod de Salida :"
																	+ bbodegas));

									listReqDoc = null;

									listReqDoc = ReqDoc_logica
											.consultarRequiDocPropertyCerradas_Bodega(
													bclase,
													(String) SessionUtil
															.get(SessionVars.BODAUTORIZADAS),
													"reqbodsale", bbodegas);

									// listReqDoc = ReqDoc_logica
									// .consultarRequiDocPropertyBodega(
									// bclase,
									// busbtipo,
									// "reqbodent",
									// bbodegas,
									// "reqbodsale",
									// (String) SessionUtil
									// .get(SessionVars.BODEGA));
									listReqDoc = getlistReqDoc();
									requidoc = null;
								} else {
									FacesContext
											.getCurrentInstance()
											.addMessage(
													"msg",
													new FacesMessage(
															"Debe Agregar un valor de busqueda"));
								}
							} else {
								FacesContext.getCurrentInstance().addMessage(
										"msg",
										new FacesMessage(MessageBundleLoader
												.getMessage("busqueda.mensaje")
												+ " Todos."));
								requidoc = null;
								listReqDoc = null;

								listReqDoc = ReqDoc_logica
										.consultarRequiDocPropertyCerradas_Bodega(
												bclase,
												(String) SessionUtil
														.get(SessionVars.BODAUTORIZADAS),
												".", ".");

								// listReqDoc =
								// ReqDoc_logica.buscarTodosRequiDocAll();
								listReqDoc = getlistReqDoc();
							}
						}
					}
				}
			}
		} catch (Exception e) {

			e.printStackTrace();

		}

	}

	public String action_GuardarRequi_Doc() throws SQLException {

		ReqDoc_logica = new RequisicionLogica();

		if (swnuevo == true) {
			Requisicion.getId().setReqempresa(bempresa);
			Requisicion.getId().setReqclase(bclase);
			Requisicion.getId().setReqtipo(btipo);
			Requisicion.getId().setReqnumero(Double.valueOf(bnumero));
		}

		Requisicion.setReqfecha(bfecha);
		Requisicion.getMngcco().setCcocodigo("CC1 ");
		Requisicion.getBodega().setBodcodigo(bbodegae);
		Requisicion.setReqbodsale(bbodegas);
		bdetalle = bdetalle.toUpperCase();
		Requisicion.setReqdetalle(bdetalle);
		Requisicion.getDlluser().setUsrcodigo(busuario);
		// Requisicion.getLabel().setLbcodnum(new Long(selecestado));

		retornar = "Procesando";

		try {

			setMilabel(ReqDoc_logica.consultarlabel(new Long(selecestado)));
			Requisicion.setLabel(milabel);

			ReqDoc_logica.grabarRequiDoc(Requisicion);
			FacesContext.getCurrentInstance().addMessage("msg",
					new FacesMessage("Se actualizo Satisfactoriamente"));

			if (swnuevo == true) {
				MngtdcId id = new MngtdcId(Requisicion.getId().getReqclase(),
						Requisicion.getId().getReqtipo());
				ReqDoc_logica.grabaconsecutivo(id, bnumero);

			}

			swnuevo = true;
			sweditando = false;

			busquedacmbbus = "reqnumero";
			txtBuscar.setVisible(true);
			txtBuscar.setRendered(true);
			txtfechabusca.setVisible(false);
			txtfechabusca.setRendered(false);
			seleconeestadobus.setVisible(false);
			seleconeestadobus.setRendered(false);

			retornar = "RequisicionR_B";

			listReqDoc = null;
			listReqDoc = ReqDoc_logica.consultarRequiDocPropertyCerradas(
					bclase, btipo, "reqnumero", bnumero);
			listReqDoc = getlistReqDoc();
			requidoc = null;

		} catch (Exception e) {
			e.printStackTrace();
			FacesContext.getCurrentInstance().addMessage("msg",
					new FacesMessage(e.getMessage()));
		}
		return retornar;

	}

	public String action_Cancelar() {
		return "RequisicionR_B";
	}

	public void action_Validausuario(ActionEvent ae) throws Exception {
		System.out.print(">>>>>>>>>>>>>>>>> Valida usuario <<<<<<<<<<<");
		miDlluser = null;
		ReqDoc_logica = new RequisicionLogica();
		busunombre = null;
		Usucod = (String) SessionUtil.get(SessionVars.USER);
		busuario = (String) SessionUtil.get(SessionVars.USER);
		miDlluser = ReqDoc_logica.consultarRequiUser(Usucod);
		if (miDlluser == null) {
			busunombre = "Usuario No Registrado";
			busuario = null;
			bccosto = null;
		} else {
			busunombre = miDlluser.getUsrnombre();
			bccosto = "CC1 ";
			bbodegae = (String) SessionUtil.get(SessionVars.BODEGA);
			docautorizados = miDlluser.getUsrtdcaut();
			bodautorizadas = miDlluser.getUsrbodaut();
			sel_bodega = null;
			sel_document = null;
			getSel_bodega();
			getSel_document();
			// aqui
			if (sel_document.length > 0) {
				btipo = sel_document[0].getValue().toString();
			}

		}

	}

	// row selec Requisicion y productos

	public void rowSelectionListenerPro(RowSelectorEvent event) {

		RequiProWork requisicion = null;
		RequiProWork[] lista = getRequipro();
		proselec = true;
		for (int i = 0; i < getRequipro().length; i++) {
			requisicion = lista[i];
			if (requisicion.isSelected()) {
				requiproEdicion = requisicion.getRequipro();
			}
		}
	}

	public void setRequipro(RequiProWork[] requipro) {
		this.requipro = requipro;
	}

	public RequiProWork[] getRequipro() {
		ReqDoc_logica = new RequisicionLogica();
		if (requipro == null) {
			try {
				if (listReqPro != null) {
					requipro = ReqDoc_logica.findRequisicionSelectedRowPro(
							listReqPro, bbodegae);
				}
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
		return requipro;
	}

	public void rowSelectionListener(RowSelectorEvent event) {
		RequiDocWork requisicion = null;
		RequiDocWork[] lista = getRequidoc();
		docselec = true;
		for (int i = 0; i < getRequidoc().length; i++) {
			requisicion = lista[i];
			if (requisicion.isSelected()) {
				requiEdicion = requisicion.getRequidoc();
			}
		}
	}

	public void setRequidoc(RequiDocWork[] requidoc) {
		this.requidoc = requidoc;
	}

	public RequiDocWork[] getRequidoc() {
		ReqDoc_logica = new RequisicionLogica();
		if (requidoc == null) {
			try {
				if (listReqDoc != null) {
					requidoc = ReqDoc_logica
							.findRequisicionSelectedRow(listReqDoc);
				}
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
		return requidoc;
	}

	public void action_validadoc(ValueChangeEvent vce) {
		ReqDoc_logica = new RequisicionLogica();
		// break;
		if (swnuevo == true) {
			try {

				String a = null;

				if (vce == null || vce.getNewValue() == null) {
					a = btipo.toString();
				} else {
					a = vce.getNewValue().toString();
				}

				int fin = ReqDoc_logica.MngDocnum_Id(bclase, a).toString()
						.indexOf(".");
				String numero = ReqDoc_logica.MngDocnum_Id(bclase, a)
						.toString().substring(0, fin);
				this.txtnumero.setValue(numero);

			} catch (Exception e) {
				e.printStackTrace();
			}

		}

	}

	// //////////////// POPUP PRODUCTOS

	public void popupAccion_Cerrar(ActionEvent ae) {
		modalRendered = !modalRendered;
	}

	public HtmlCommandButton getPopup_cmdbuscarprod() {
		return popup_cmdbuscarprod;
	}

	public void setPopup_cmdbuscarprod(HtmlCommandButton popup_cmdbuscarprod) {
		this.popup_cmdbuscarprod = popup_cmdbuscarprod;
	}

	// ////Popu verificar eliminar Requisicion

	public void action_confirmacionEliminar(ActionEvent ae) {
		if (docselec == true) {
			if (requidoc != null) {
				ReqDoc_logica = new RequisicionLogica();
				try {
					setNombreEliminar("Requisicion Tipo :"
							+ requiEdicion.getId().getReqtipo() + " Numero :"
							+ requiEdicion.getId().getReqnumero());
				} catch (Exception e) {
					e.printStackTrace();
				}
				toggleModal(ae);
			} else {
				FacesContext.getCurrentInstance().addMessage("msg",
						new FacesMessage("Debe seleccionar un Documento"));
			}
		} else {
			FacesContext.getCurrentInstance().addMessage("msg",
					new FacesMessage("Debe seleccionar un Documento"));
		}
	}

	public void action_confirmacionEliminarPro(ActionEvent ae) {

		if (requiproEdicion.getLabel().getLbcodnum().doubleValue() == Double
				.valueOf(1)) {

			if (proselec == true) {

				if (requipro != null) {

					int fin = requiproEdicion.getId().getRqpnumero().toString()
							.indexOf(".");
					String doc = requiproEdicion.getId().getRqpnumero()
							.toString().substring(0, fin);

					if (doc.equals(bnumero)) {

						ReqDoc_logica = new RequisicionLogica();
						try {
							setNombreEliminarpro("Producto : "
									+ requiproEdicion.getProducto()
											.getProcodigo()
									+ "         "
									+ " Nombre : "
									+ requiproEdicion.getProducto()
											.getPronombre() + "Cantidad : "
									+ requiproEdicion.getRqpcantReq());
						} catch (Exception e) {
							e.printStackTrace();
						}
						toggleModalpro(ae);
					} else {
						FacesContext
								.getCurrentInstance()
								.addMessage(
										"msg",
										new FacesMessage(
												"Debe seleccionar un Producto"));
					}
				}
			} else {
				FacesContext.getCurrentInstance().addMessage("msg",
						new FacesMessage("Debe seleccionar un Producto"));
			}
		} else {
			FacesContext.getCurrentInstance().addMessage("msg",
					new FacesMessage("Este Producto no puede ser Dado de Baja"));
		}
	}

	public void action_EliminarTabla(ActionEvent ae) {
		ReqDoc_logica = new RequisicionLogica();

		toggleModal(ae);
		try {

			setRequisicion(ReqDoc_logica.consultarRequiDoc("id", requiEdicion
					.getId()));
			setMilabel(ReqDoc_logica.consultarlabel(new Long("5")));
			Requisicion.setLabel(milabel);
			ReqDoc_logica.grabarRequiDoc(Requisicion);
			FacesContext.getCurrentInstance().addMessage("msg",
					new FacesMessage("Se actualizo Satisfactoriamente"));

			listReqDoc = null;
			listReqDoc = ReqDoc_logica.consultarRequiDocPropertyCerradas(
					requiEdicion.getId().getReqclase(), requiEdicion.getId()
							.getReqtipo(), "docnumero", requiEdicion.getId()
							.getReqnumero().toString());
			listReqDoc = getlistReqDoc();

		} catch (Exception e) {
			e.printStackTrace();
			FacesContext.getCurrentInstance().addMessage("msg",
					new FacesMessage(e.getMessage()));
		}

	}

	public void action_EliminarTablaPro(ActionEvent ae) {

		ReqDoc_logica = new RequisicionLogica();
		toggleModalpro(ae);
		try {

			setMilabel(ReqDoc_logica.consultarlabel(new Long("10")));
			requiproEdicion.setLabel(milabel);
			
			

			ReqDoc_logica.actualiza_reqpro(requiproEdicion);
			listReqPro = null;
			listReqPro = getlistReqPro();
			requipro = null;
			proselec = false;
			FacesContext.getCurrentInstance().addMessage("msg",
					new FacesMessage("Se actualizo satisfactoriamente"));
		} catch (Exception e) {
			e.printStackTrace();
			FacesContext
					.getCurrentInstance()
					.addMessage(
							"msg",
							new FacesMessage(
									"No se puede eliminar el registro tiene movimiento."));
		}

	}

	public void action_confirmacionEnviarRequi(ActionEvent ae) {
		toggleModalenviar(ae);
	}

	public void action_selecBusqueda(ValueChangeEvent vcex) {

		if (vcex.getNewValue() != null) {

			busquedacmbbus = vcex.getNewValue().toString();

			if (busquedacmbbus.equals("reqnumero")) {
				busqueda1 = true;
				busqueda2 = false;
				busqueda3 = false;
				busqueda4 = false;
				busqueda5 = false;
			} else {
				if (busquedacmbbus.equals("reqnewfec")
						|| busquedacmbbus.equals("reqfecha") || busquedacmbbus.equals("reqenvfec") ) {
					busqueda1 = false;
					busqueda2 = false;
					busqueda3 = true;
					busqueda4 = false;
					busqueda5 = false;
					Date today = new Date();
					fechabusca = today;
				} else {
					if (busquedacmbbus.equals("reqestado")) {
						busqueda1 = false;
						busqueda2 = true;
						busqueda3 = false;
						busqueda4 = false;
						busqueda5 = false;
					} else {
						if (busquedacmbbus.equals("reqbodsale")) {
							busqueda1 = false;
							busqueda2 = false;
							busqueda3 = false;
							busqueda4 = true;
							busqueda5 = false;
						} else {
							busqueda1 = false;
							busqueda2 = false;
							busqueda3 = false;
							busqueda4 = false;
							busqueda5 = false;
						}

					}
				}
			}
		}
	}

	public void action_Imprimir() throws SQLException {

		ReqDoc_logica = new RequisicionLogica();
		try {
			String a = FacesContext.getCurrentInstance().getExternalContext()
					.getRequestContextPath();
			System.out.println("ruta faces -> " + a);
			ReqDoc_logica.Imprimir("Requisicion");
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

	public void popupAccion_CerrarBod(ActionEvent ae) {
		modalpopupbodega = !modalpopupbodega;
	}

	public void action_Validabodega(ActionEvent ae) throws Exception {

		ReqDoc_logica = new RequisicionLogica();
		miBodegas = null;

		miBodegas = ReqDoc_logica.consultarBodega(bbodegas,
				(String) SessionUtil.get(SessionVars.BODAUTORIZADAS));
		if (miBodegas == null) {
			miBodegas = null;
			bbodegasnom = "";
			// txtbodegasal.requestFocus();
			FacesContext.getCurrentInstance().addMessage(
					"msg",
					new FacesMessage("Bodega " + bbodegas
							+ " no existe o no se encuentra autorizada"));
			bbodegas = "";
		} else {
			bbodegasnom = miBodegas.getBodnombre();
		}

	}

	public void action_BuscarBod(ActionEvent ae) {
		listaBodegapopup = null;
		ReqDoc_logica = new RequisicionLogica();

		try {
			if (busquedacmbbodega.equals("bodnombre")) {
				FacesContext.getCurrentInstance().addMessage(
						"msgbod",
						new FacesMessage(MessageBundleLoader
								.getMessage("busqueda.mensaje")
								+ " nombre :" + buscarbod));
				listaBodegapopup = ReqDoc_logica.consultarBodegaLike(
						"bodnombre", buscarbod.toUpperCase(),
						(String) SessionUtil.get(SessionVars.BODAUTORIZADAS));

			} else {
				if (busquedacmbbodega.equals("bodcodigo")) {
					FacesContext.getCurrentInstance().addMessage(
							"msgbod",
							new FacesMessage(MessageBundleLoader
									.getMessage("busqueda.mensaje")
									+ " Codigo :" + buscarbod));
					listaBodegapopup = ReqDoc_logica.consultarBodegaLike(
							"bodnombre", buscarbod.toUpperCase(),
							(String) SessionUtil
									.get(SessionVars.BODAUTORIZADAS));
				} else {

					if (busquedacmbbodega.equals("todos")) {
						FacesContext.getCurrentInstance().addMessage(
								"msgbod",
								new FacesMessage(MessageBundleLoader
										.getMessage("busqueda.mensaje")
										+ " Codigo :" + buscarbod));

						listaBodegapopup = ReqDoc_logica
								.buscarBodegas_Aut((String) SessionUtil
										.get(SessionVars.BODAUTORIZADAS));
					}

				}
			}
		} catch (Exception e) {

			e.printStackTrace();

		}

	}

	public void popupAccion_SelecionarBod(ActionEvent ae) throws Exception {
		bbodegas = popup_cmdselecionarBod.getValue().toString();
		action_Validabodega(ae);
		modalpopupbodega = !modalpopupbodega;
	}

public void action_BuscarDefault(ActionEvent ae) {
	
		try {
			
			action_Validausuario(null);
			action_validadoc(null);
			getSel_bodega();
			
		} catch (Exception e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
		}
		
		
		sel_document = null;
		bclase = "RQ00";
		bempresa = "001";
	
		getSel_document();
		if (sel_document.length > 0) {
			btipo = sel_document[0].getValue().toString();
		}

		ReqDoc_logica = new RequisicionLogica();
		docselec = false;
		try {
			
			listReqDoc = ReqDoc_logica
			.consultarRequiDocPropertyCerradas_Bodega(bclase,
					(String) SessionUtil
							.get(SessionVars.BODAUTORIZADAS), ".",
					".");
			System.out.print(">>>>>>>>>>>>>>>>>>> Listado >>>>>>>>>>>>>");
			

		} catch (Exception e) {

			e.printStackTrace();

		}

	}
		
	
	
}
